package com.wyzz.hr.pojo.base;

import java.io.Serializable;

import com.wyzz.hr.pojo.Iodef;
import com.wyzz.hr.pojo.OutmatchBasic;

public abstract class BaseOutmatchBasic implements Serializable {

	public BaseOutmatchBasic() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseOutmatchBasic(String ombId) {
		hashCode = 0x80000000;
		setOmbId(ombId);
		initialize();
	}

	public BaseOutmatchBasic(String ombId, Iodef ombIo, String ombFieldName,
			Integer ombCanGroup, String ombDataType, String ombFieldDesc,
			Integer ombSortId, Integer ombColumnWidth) {
		hashCode = 0x80000000;
		setOmbId(ombId);
		setOmbIo(ombIo);
		setOmbFieldName(ombFieldName);
		setOmbCanGroup(ombCanGroup);
		setOmbDataType(ombDataType);
		setOmbFieldDesc(ombFieldDesc);
		setOmbSortId(ombSortId);
		setOmbColumnWidth(ombColumnWidth);
		initialize();
	}

	protected void initialize() {
	}

	public String getOmbId() {
		return ombId;
	}

	public void setOmbId(String ombId) {
		this.ombId = ombId;
		hashCode = 0x80000000;
	}

	public String getOmbFieldName() {
		return ombFieldName;
	}

	public void setOmbFieldName(String ombFieldName) {
		this.ombFieldName = ombFieldName;
	}

	public Integer getOmbCanGroup() {
		return ombCanGroup;
	}

	public void setOmbCanGroup(Integer ombCanGroup) {
		this.ombCanGroup = ombCanGroup;
	}

	public String getOmbDataType() {
		return ombDataType;
	}

	public void setOmbDataType(String ombDataType) {
		this.ombDataType = ombDataType;
	}

	public String getOmbFieldDesc() {
		return ombFieldDesc;
	}

	public void setOmbFieldDesc(String ombFieldDesc) {
		this.ombFieldDesc = ombFieldDesc;
	}

	public Integer getOmbSortId() {
		return ombSortId;
	}

	public void setOmbSortId(Integer ombSortId) {
		this.ombSortId = ombSortId;
	}

	public String getOmbFormat() {
		return ombFormat;
	}

	public void setOmbFormat(String ombFormat) {
		this.ombFormat = ombFormat;
	}

	public Integer getOmbColumnWidth() {
		return ombColumnWidth;
	}

	public void setOmbColumnWidth(Integer ombColumnWidth) {
		this.ombColumnWidth = ombColumnWidth;
	}

	public Iodef getOmbIo() {
		return ombIo;
	}

	public void setOmbIo(Iodef ombIo) {
		this.ombIo = ombIo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof OutmatchBasic))
			return false;
		OutmatchBasic outmatchBasic = (OutmatchBasic) obj;
		if (null == getOmbId() || null == outmatchBasic.getOmbId())
			return false;
		else
			return getOmbId().equals(outmatchBasic.getOmbId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getOmbId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getOmbId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "OutmatchBasic";
	public static String PROP_OMB_DATA_TYPE = "ombDataType";
	public static String PROP_OMB_FIELD_DESC = "ombFieldDesc";
	public static String PROP_OMB_FIELD_NAME = "ombFieldName";
	public static String PROP_OMB_IO = "ombIo";
	public static String PROP_OMB_ID = "ombId";
	public static String PROP_OMB_SORT_ID = "ombSortId";
	public static String PROP_OMB_FORMAT = "ombFormat";
	public static String PROP_OMB_COLUMN_WIDTH = "ombColumnWidth";
	public static String PROP_OMB_CAN_GROUP = "ombCanGroup";
	private int hashCode;
	private String ombId;
	private String ombFieldName;
	private Integer ombCanGroup;
	private String ombDataType;
	private String ombFieldDesc;
	private Integer ombSortId;
	private String ombFormat;
	private Integer ombColumnWidth;
	private Iodef ombIo;

}
